package com.yinhai.message.manage.register.dao;

import java.util.List;

import com.yinhai.core.common.api.base.IPage;
import com.yinhai.core.common.ta3.dto.TaParamDto;
import com.yinhai.message.manage.register.po.EmailConfigPo;
import com.yinhai.message.manage.register.vo.EmailConfigVo;

/**
 * 
 * @author created by lanyc on 2017/1/4
 *
 */
public interface IEmailConfigDao {
	
	/**
	 * 查询所有邮箱账户名
	 * @return 装有所有邮箱名的list列表
	 */
	List<EmailConfigVo> queryAllEmailConfig();
	
	/**
	 * 分页查询所有邮箱账户名
	 * @return 装有所有邮箱名的list列表
	 */
	IPage<EmailConfigPo> queryAllAccountsByPage(TaParamDto dto, int start, int limit, String grid);
	
	/**
	 * 保存邮箱配置信息
	 * @param emailConfigPo
	 * @return
	 */
	Integer addEmailConfig(EmailConfigPo emailConfigPo);
	
	/**
	 * 查询邮箱配置信息
	 * @param emailAccount
	 * @return
	 */
	EmailConfigPo queryEmailCfgByEmailAddress(String emailAccount);
	
	/**
	 * 删除邮箱地址
	 * @param emailAccount
	 * @return
	 */
	Integer deleteEmailInfo(String emailAccount);
	
	/**
	 * 修改邮箱配置
	 * @param emailConfigVo
	 * @return
	 */
	void updateEmailConfig(EmailConfigPo emailConfigPo);
	
	/**
	 * 清除默认邮箱标志
	 */
	void removeDefault();
	
	/**
	 * 获取默认邮箱
	 * @return
	 */
	EmailConfigVo queryDefaultEmail();

}
